package main.java.tablero;

import java.util.Vector;

import main.java.fases.Jugador;
import main.java.fases.Personaje;




public class Refugio {

	/**
	 * @uml.property  name="nivel"
	 */
	private Integer nivel;
	
	public Refugio(){
		nivel = 1;
	}
	
	public void recuperarEnergia(Personaje personaje, Integer dado){
		if(nivel==0){
			personaje.variarEnergia(1);
		}
		else{
			if(nivel==1){
				if(dado<=3){
					personaje.variarEnergia(1);
				}
				else{
					personaje.variarEnergia(2);
				}
			}
			else{
				if(nivel==2){
					if(dado<=3){
						personaje.variarEnergia(2);
					}
					else{
						personaje.variarEnergia(3);
					}
				}
				else{
					if(nivel==3){
						if(dado<=3){
							personaje.variarEnergia(3);
						}
						else{
							personaje.variarEnergia(4);
						}
					}
					else{
						if(dado<=3){
							personaje.variarEnergia(4);
						}
						else{
							personaje.variarEnergia(4);
							personaje.variarSecuelas(-1);
						}
					}
				}
			}
		}
		
		
	}

	/**
	 * Getter of the property <tt>nivel</tt>
	 * @return  Returns the nivel.
	 * @uml.property  name="nivel"
	 */
	public Integer getNivel() {
		return nivel;
	}

	/**
	 * Setter of the property <tt>nivel</tt>
	 * @param nivel  The nivel to set.
	 * @uml.property  name="nivel"
	 */
	public void setNivel(Integer nivel) {
		this.nivel = nivel;
	}

	/**
	 * @uml.property  name="tablero"
	 * @uml.associationEnd  
	 */
	private Tablero tablero;

	/**
	 * Getter of the property <tt>tablero</tt>
	 * @return  Returns the tablero.
	 * @uml.property  name="tablero"
	 */
	public Tablero getTablero() {
		return tablero;
	}

	/**
	 * Setter of the property <tt>tablero</tt>
	 * @param tablero  The tablero to set.
	 * @uml.property  name="tablero"
	 */
	public void setTablero(Tablero tablero) {
		this.tablero = tablero;
	}

	/**
	 * @uml.property  name="posicionesPersonajes"
	 */
	private Vector<Jugador> posicionesPersonajes = new Vector<Jugador>();

	/**
	 * Getter of the property <tt>posicionesPersonajes</tt>
	 * @return  Returns the posicionesPersonajes.
	 * @uml.property  name="posicionesPersonajes"
	 */
	public Vector<Jugador> getPosicionesPersonajes() {
		return posicionesPersonajes;
	}

	/**
	 * Setter of the property <tt>posicionesPersonajes</tt>
	 * @param posicionesPersonajes  The posicionesPersonajes to set.
	 * @uml.property  name="posicionesPersonajes"
	 */
	public void setPosicionesPersonajes(Vector<Jugador> posicionesPersonajes) {
		this.posicionesPersonajes = posicionesPersonajes;
	}

		
		/**
		 */
		public void agregarPersonaje(Jugador p){
			posicionesPersonajes.add(p); }
	
	

}
